package grape.house.rest.estate.form;
import grape.common.rest.form.BaseForm;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
/**
 * <p>
 * 楼盘表
 * </p>
 *
 * @author yangwei
 * @since 2020-09-17
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="楼盘添加表单对象")
public class EstateCreateForm extends BaseForm {

    private static final long serialVersionUID = 1L;

    @NotEmpty(message="编号，唯一不能为空")
    @ApiModelProperty(value = "编号，唯一",required = true)
    private String code;

    @NotEmpty(message="名称不能为空")
    @ApiModelProperty(value = "名称",required = true)
    private String name;

    @NotEmpty(message="名称别名不能为空")
    @ApiModelProperty(value = "名称别名",required = true)
    private String nameAlias;


    @NotEmpty(message="经度不能为空")
    @ApiModelProperty(value = "经度",required = true)
    private String longitude;

    @NotEmpty(message="纬度不能为空")
    @ApiModelProperty(value = "纬度",required = true)
    private String latitude;

    @NotEmpty(message="省不能为空")
    @ApiModelProperty(value = "省",required = true)
    private String provinceAreaId;

    @NotEmpty(message="城市不能为空")
    @ApiModelProperty(value = "城市",required = true)
    private String cityAreaId;

    @NotEmpty(message="区不能为空")
    @ApiModelProperty(value = "区",required = true)
    private String districtAreaId;

    @NotEmpty(message="商圈id不能为空")
    @ApiModelProperty(value = "商圈id",required = true)
    private String businessDistrictId;

    @NotEmpty(message="地址全名不能为空")
    @ApiModelProperty(value = "地址全名",required = true)
    private String address;

    @NotEmpty(message="地址别名不能为空")
    @ApiModelProperty(value = "地址别名",required = true)
    private String addressAlias;

    @NotEmpty(message="封面图不能为空")
    @ApiModelProperty(value = "封面图",required = true)
    private String coverImageUrl;

    @NotNull(message="占地面积，单位平方米不能为空")
    @ApiModelProperty(value = "占地面积，单位平方米",required = true)
    private Integer coverArea;

    @NotNull(message="建筑面积，单位平方米不能为空")
    @ApiModelProperty(value = "建议面积，单位平方米",required = true)
    private Integer buildingArea;

    @NotNull(message="容积率不能为空")
    @ApiModelProperty(value = "容积率",required = true)
    private Float plotRatio;

    @NotNull(message="绿化率不能为空")
    @ApiModelProperty(value = "绿化率",required = true)
    private Integer greenRatio;

    @NotNull(message="地上车位数不能为空")
    @ApiModelProperty(value = "地上车位数",required = true)
    private Integer aboveGroundParkingSpaceNum;

    @NotNull(message="地下车位数不能为空")
    @ApiModelProperty(value = "地下车位数",required = true)
    private Integer belowGroundParkingSpaceNum;

    @NotNull(message="车位占比，如：1:1.9,这里只存后面的不能为空")
    @ApiModelProperty(value = "车位占比，如：1:1.9,这里只存后面的",required = true)
    private Float parkingRatio;

    @NotNull(message="面积区间最小值不能为空")
    @ApiModelProperty(value = "面积区间最小值",required = true)
    private Integer areaMin;

    @NotNull(message="面积区间最大值不能为空")
    @ApiModelProperty(value = "面积区间最大值",required = true)
    private Integer areaMax;

    @ApiModelProperty(value = "始建于")
    private Long buildAt;

    @ApiModelProperty(value = "建成于")
    private Long builtAt;

    @NotEmpty(message="开发商公司id不能为空")
    @ApiModelProperty(value = "开发商公司id",required = true)
    private String developerCompanyId;

    @ApiModelProperty(value = "物业公司id")
    private String propertyCompanyId;

    @NotEmpty(message="环线位置不能为空")
    @ApiModelProperty(value = "环线位置，字典",required = true)
    private String loopLineDictId;

}
